Service compositions may be processes which combine atomic services into a new service. A service composition may form the basis for a Service-Oriented Architecture (SOA) to reuse machines and resources over networked computers. In SOA, each service may provide a defined set of functions and/or well-defined interfaces in terms of protocols and functionalities. Each service may be accessible over a network and collectively may provide a complete functionality of a larger software application. Many service composition languages and systems have been proposed for SOA, such as Web Services Business Process Execution Language (WS-BPEL), WS-BPEL Extension For People (BPEL4People), Web Service Choreography (WS-Choreography), Business Process Execution Language for Representational State Transfer (BPEL for REST), Yahoo Pipes, and Hyperlink Pipeline.
Determining accurate estimates of presence states and presence delays in each of the services that compose the final application such that the services may cooperate and perform as a service composition may be challenging in real time communication systems with SOA. In a SOA system, the presence state of each atomic service may be discrete and may not be merged or compared for composite services. Atomic services may employ different presence systems and/or may follow different presence standards. Presence states may also be defined differently from one system to another system. For instance, two presence systems may use the same state for different meanings or different states for the same meaning. Efficiently determining presence information for composite services as a whole entity and/or providing accurate timing information about service availability may allow the use of composite services for real time applications.